The present invention relates to a functional test method and functional test apparatus for data storage devices.
As known, there are a variety of data storage devices which use different types of media such as optical disks and magnetic tapes. Among them, the hard disk drive (HDD) has become so popular as to be one of the indispensable storage devices for today's computer systems. Further, not limited to computers, the hard disk drive is widening its range of application more and more due to the superior characteristics, covering moving picture recording/reproducing apparatus, car navigation systems, removable memories for digital cameras and so on.
In addition, various techniques have been developed in order to provide higher capacity and higher speed data storage devices. Adaptation to new interfaces such as SAS (Serial Attached SCSI) and FG4G (Fibre Channel 4 Gbps) is an example of what are aimed at higher speed. Development of new interfaces is causing a demand for functional test apparatus capable of testing data storage devices in accordance with these new interfaces. In addition, there has been a strong need for functional test apparatus which can test data storage devices less expensively and more quickly.
In functional testing of data storage devices, PCs were conventionally used. Shown in FIG. 10 is a typical PC-used functional test method for an HDD. In this typical functional test of an HDD, a PC 91 and an HBA (Host Bus Adapter) 92 are used. The HBA 92 is connected with an HDD 93 by a cable 94. A memory 911, a PCI bus bridge 912 and a CPU 913 which are provided in the PC 91 are respectively connected to a CPU bus 914. In addition, the HBA 92 has an interface controller 921 provided therein.
In a functional test apparatus configured as mentioned above, functional testing of an HDD is performed as below:
1. Write data 931 is prepared in the memory 911 such as a DRAM. In addition, an area is reserved for read data 932.
2. The CPU 913 sends a write instruction to the HDD 93. Via the interface controller 921, the HDD 93 instructs the PCI bus 915 to send desired data. Then, the write data 931 in the memory 911 is sent to the interface controller 921 via the PCI bus bridge 912.
3. The interface controller 921 sends the write data 931 to the HDD 93 according to the interface of the HDD 93. The HDD 93 writes/stores the write data 931.
4. After a signal indicating that the data is written in the HDD 93 is sent from the HDD 93, the CPU 913 sends a read instruction to the HDD 93. The interface controller 921 receives the read data 932 from the HDD 93 according to the HDD interface.
5. The read data 932 from the interface controller 921 is written in the memory 911 by the PCI bus bridge 912.
6. The CPU 913 compares the write data 931 in the memory 911 with the read data 932 therein.
However, this method is costly since high performance PCs and HBAs are very expensive. Due to this problem, methods which do not use PCs and HBAs are under development. These methods use a test CPU board in place of a PC and an interface board in place of an HBA are under development.
Shown in FIG. 11 is such a functional test method for HDDs. In this functional test method, a CPU board 95 is used in place of a PC and an interface board 96 is used in place of an HBA. In the CPU board 95, a memory 951 such as a DRAM, a PCI bus bridge 952 and a CPU 953 are provided. The memory 951, the PCI bus bridge 952 and the CPU 953 are respectively connected to a CPU bus 954. In addition, the PCI bus bridge 952 has a data comparator circuit provided therein.
The interface board 96 has an interface controller 961 provided therein. The PCI bus bridge 952 in the CPU board 95 and the interface controller 961 in the interface board 96 are connected to the PCI bus 955. In addition, the interface board 96 and the HDD 93 are connected by an HDD interface 962.
In a functional test apparatus configured as mentioned above, functional testing of an HDD is performed as below:
1. Write data 931 is prepared in the memory 951 such as a DRAM.
2. The CPU 953 sends a write instruction to the HDD 93. The HDD 93 sends an instruction to the PCI bus 956 to instruct it to send desired data. Then, the write data 931 in the memory 911 is sent to the interface controller 961 via the PCI bus bridge 952.
3. The interface controller 961 sends the write data 931 to the HDD 93 according to the HDD interface 962. The HDD 93 writes/stores the write data 931.
4. The CPU 953 sends a read instruction to the HDD 93. The interface controller 961 receives the read data from the HDD 93 according to the HDD interface 962.
5. The PCI bus bridge 952 reads the write data 931 from the memory 951 and compares it with the read data from the interface controller 961.
6. The CPU 953 obtains the comparison result from the PCI bus bridge 952.
Conventionally, functional testing of a data storage device is performed by repeating a write operation to the data storage device by using write data stored in a memory until all storage areas of the storage device are inspected, as disclosed in, for example, Patent Document 1 (Japanese Patent Laid-Open No. Hei 5-257824).
In functional testing of an HDD, data transfer is usually performed between the HDD and a memory such as a DRAM. Specifically, data in the memory is written in the HDD and the written data is read out and compared with the data in the memory. However, a high speed and large capacity memory is needed to transfer large data. This makes it impossible to perform functional testing of HDDs quickly and inexpensively since providing such a high speed and large capacity memory is expensive.